package com.dingreading.cloud.admin.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类。
 *
 * @author Administrator
 * @since 2023-11-22
 */
@Data
@Table(value = "wh_purchase")
public class WhPurchase implements Serializable {

    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 添加时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(onInsertValue = "now()")
    private Date addTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    private Date editTime;

    /**
     * 完成时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date okTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operatorTime;

    /**
     * 采购订单号
     */
    @ApiModelProperty(value = "采购订单号")
    private String code;

    /**
     * 收支项目id
     */
    @ApiModelProperty(value = "项目id")
    private Integer projectType;

    /**
     * 收支项目名
     */
    @ApiModelProperty(value = "项目名")
    private String projectName;

    /**
     * 供应商id
     */
    @ApiModelProperty(value = "供应商id")
    private Long supplierId;

    /**
     * 供应商名称
     */
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    /**
     * 采购总数量
     */
    @ApiModelProperty(value = "采购总数量")
    private Integer buyNum;

    /**
     * 采购实际入库数
     */
    @ApiModelProperty(value = "采购实际入库数")
    private Integer realNum;

    /**
     * 采购剩余总库存数
     */
    @ApiModelProperty(value = "采购剩余总库存数")
    private Integer usableNum;

    /**
     * 商品规格的总数
     */
    @ApiModelProperty(value = "商品规格的总数")
    private Integer goodsTypeNum;

    /**
     * 采购总价
     */
    @ApiModelProperty(value = "采购总价")
    private Double price;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 状态 0.取消 1.完成 2.保存 3.待入库 4.入库中
     */
    @ApiModelProperty(value = "状态 0.取消 1.完成 2.保存 3.待入库 4.入库中")
    private Integer status;

    /**
     * 状态名
     */
    @ApiModelProperty(value = "状态名")
    private String statusName;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private Long creatorId;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private String creatorUid;

    /**
     * 创建人姓名
     */
    @ApiModelProperty(value = "创建人姓名")
    private String creator;

    /**
     * 操作人id
     */
    @ApiModelProperty(value = "操作人id")
    private Long operatorId;

    /**
     * 操作人uid
     */
    @ApiModelProperty(value = "操作人uid")
    private String operatorUid;

    /**
     * 操作人姓名
     */
    @ApiModelProperty(value = "操作人姓名")
    private String operator;

    /**
     * 操作备注
     */
    @ApiModelProperty(value = "操作备注")
    private String operateRemark;

    /**
     * 快递信息
     */
    @ApiModelProperty(value = "快递信息")
    private String expressInfo;

    /**
     * 快递金额
     */
    @ApiModelProperty(value = "快递金额")
    private Double expressPrice;

}
